Information service companies, also referred to as information service providers, provide information including financial data and news on a subscription basis to subscribers or information consumers. The information consumers are predominantly commercial entities, and the information provided includes records, such as company annual reports; company results announcements; company share prices; news items relating to particular companies; news items and market prices relating to market sectors (e.g. telecommunications, banking, or pharmaceuticals); commodity prices, and so on. Each record provides information on a specific subject and each record has a number of information fields. For example, a record that provides the stock information of a particular company can include information fields that provide the last transacted price on a particular day, the change in stock price relative to the previous day, the day's highest price, the day's lowest price, the opening price, the current bid and ask prices, the volume of stock traded, and a variety of other information.
The information service provider receives information from various information sources, and typically uses a database system that comprises several databases for storing the information from the various information sources. Dependent on which information source provides the information, and which information consumers the information is to be provided to, the received information from a particular data source may be stored in one or more of the databases. Similarly information to be provided to a particular information consumer may be retrieved from one or more databases.
An information service provider receives information directly from various information sources, which include reporters in the field; and indirectly, from a variety of third parties, including stock exchanges and data providers around the world. The information sources themselves may also be companies with their own information database systems, and such database systems are typically proprietary, and do not share common information platforms, language, formats, structure, classifications, distribution formats, taxonomy, etc., with the database system of the information service provider.
In addition, information service providers provide information to a variety of information consumers. Some of these information consumers, such as banks and financial institutions, use the information for their own business purposes. Other information consumers may value-add to the information by processing or repackaging the information, and then providing the resultant value-added information to their own information consumers. Some information consumers have their own database systems, and again, like the information sources, such database systems of the information consumers are typically proprietary, and do not share common information platforms, language, formats, structure, classifications, distribution formats, taxonomy, etc., with the database system of the information service provider.
Hence, a primary function of an information service provider is to convert raw data or data with low granularity to value added information or derived information, getting information from a variety of information sources and providing the information to a variety of information consumers, whereby the database systems of the information sources, the information service provider and the information consumers are not directly compatible.
Due to the variety of information sources, a specific inbound processor has to be configured to receive information from a particular information source, and process the information into a form that is compatible with the database system of the information service provider, before the information from the particular information source can be stored by, and made available to, the information service provider. As a result the information service provider requires a variety of inbound processors for processing information from a variety of information sources.
Similarly, when information is to be provided to a particular information consumer, a specific outbound processor has to be developed to retrieve predetermined information stored by the information service provider, process the retrieved information into a form that is usable by the particular information consumer, and then provide the processed information to the particular information consumer. Again, as a result, the information service provider requires a variety of outbound processors for processing information for the variety of information consumers.
FIG. 1 shows an information service provider 100, in accordance with the prior art, that receives information from various information sources 105, stores the information in databases 115A-115C, and provides information from the databases 115A-115C to various information consumers 110. A particular inbound processor 120A is coupled between each of the information sources 105 and the databases 115A-115C, and the particular inbound processor 120A is designed to receive information from predetermined one or more of the information sources 105, and to store the received information in the databases 115A-115C in accordance with a predetermined arrangement.
Similarly, a particular outbound processor 125A is coupled between the databases 115A-115C and each of the information consumers 110, and the particular outbound processor 125A is designed to retrieve predetermined records from the databases 115A-115C, and provide the predetermined records to the particular information consumer 110A.
In the past, the information service provider relied on many different database systems 115A-115C, with multiple and varied database structures, coupled together to store the information. Consequently organization of the stored information was difficult, which made storing and retrieving information complicated. The inbound and outbound processors 120 and 125 were created as and when there was a need from particular information sources 105 and from particular information consumers 110. As these inbound and outbound processors 120 and 125 are created on an adhoc basis, there was a tendency for records in the database system 115A-115C, and even the inbound and outbound processors 120 and 125, to be duplicated.
An improved database system for an information service provider is disclosed in pending Singapore patent application no. 200100230-2 by Stadelmann et al., titled “Method and Apparatus for a Financial Database Structure”, and assigned to the same assignee, Reuters Limited of the United Kingdom, as the present patent application. The Stadelmann et al. patent application is incorporated herein by reference thereto. Stadelmann et al. teaches a database system comprising a single data repository that allows the complexity and changes to the single data repository, the inbound processors 120, and the outbound processors 125, to be managed. Thus, avoiding duplication of data and resources, and the inefficiencies of the prior art database system.
FIG. 2 shows an information service provider 200, in accordance with the Stadelmann patent application, that utilizes the improved database system 215, that provides a single data repository. As before, inbound processors 220 receive, process and store information from the information sources 105 in the database system 215, and outbound processes 225 retrieve, process and provide information from the database system 215 to the information consumers 110.
Typically, the inbound and outbound processors 220 and 225 comprise tailor made or customized software programs that are developed on an adhoc basis. Typically, the software programs are developed when the information service provider contracts to work with a new information source or a new information consumer, and to meet new requirements of existing information sources or consumers. A disadvantage of the adhoc nature of the development and implementation of the customized software programs is that documented details and records are typically scarce, unstructured, fragmented. In some instances such information may not be available in consolidated form at one location, and where available, may not be easily accessible. Indeed, even when available, the documented details and records may be outdated, and may provide insufficient details to be useful. Consequently, knowledge that relates to the database system, the information sources and the information consumers, as may be captured in the documented details and records, is not managed, and various knowledge aspects that may be derived from such knowledge is not available.
A further disadvantage due to the lack of documented details and records, is the difficulty in maintaining such customized software programs, and training others to use and maintain such customized software programs. Hence, the need for knowledge aspects for maintenance and training.
Yet a further disadvantage is the difficulty of making changes and tracking the changes that may be required to the various customized software programs and the database system from time to time. Any changes need to be managed, controlled and tracked, and these requirements can be compounded when a single change requires multiple related changes to be effected. In addition, various versions of software programs may be employed, and these versions should be controlled to avoid incompatibility. Still another disadvantage due to the lack of documented details and records is the inability to view, organize, and change the relationships between data stored in the database systems of the information sources, the database system and the information consumers. Hence, managing changes is another knowledge aspect that is required.
A still further disadvantage is the tendency for redundancy to occur when each of the customized software programs is developed and put into operation. For example, standard processes for storing and retrieving information in the database system may be duplicated for a variety of inbound and outbound information processors; or common standards for some of the information relating to currency, units, language, geographical units, symbols etc. may be duplicated. This results in inefficient customized software programs and inefficient use of resources, which increases the complexity of maintaining the various customized software programs and the database system. Thus, managing resources is a further knowledge aspect that is required.
Hence, there is a need to store and maintain information about the database system, the inbound processors and the outbound processors in a knowledge repository. There is also a need to provide a means that can be used to determine various knowledge aspects of the database system, inbound processors and the outbound processors, from the information in the knowledge repository.